package net.stogi.unicore.beyond.ui.client.taskrunner.taskinstance;

import java.util.Map;

import net.stogi.common.mvp.core.behavior.Behavior;
import net.stogi.unicore.beyond.api.model.InputDefinition;
import net.stogi.unicore.beyond.api.model.OutputDefinition;

interface TaskInstanceView {

	int addInputDefinition(InputDefinition inputDefinition, int inputGroupIndex);

	int addInputGroup(String name);
	
	int addOutputDefinition(OutputDefinition outputDefinition, int outputGroupIndex);
	
	int addOutputGroup(String name);
	
	void appear();
	
	void clear();
	
	void clearErrors();

	Map<String, String> collectInputs();
	
	void disappear();

	void displayApplicationDescription(String applicationDescription);

	void displayApplicationName(String applicationName);
	
	void displayApplicationVersion(String applicationVersion);
	
	void layout();
	
	void setCloseBehavior(Behavior behavior);

	void setErrors(Map<String, String> errors);
	
	void setRunBehavior(Behavior behavior);
}
